Skip to content

nfoert/cardie

Repository files navigation

Cardie Logo Cardie Logo


Live Server

Wiki | Releases

The latest changes are available in the development branch! Please check there for the most up to date changes.


Design a unlimited number of business or information cards about yourself, share a link or QR code to them, print it out, and save other people's cards to your virtual wallet for later. Once you've created a card you can get analytics data on how your cards are getting visited, you can edit your cards as things change, and you can keep cards private so only people with a link to your card can see it.

Important

Cardie is currently in an open alpha. Things will be rapidly changing and bugs are to be expected.

Installation

First, clone this repository using the following command

git clone https://github.com/nfoert/cardie

Then, navigate to that directory and create a new python virtual environment

cd cardie
python3 -m venv .venv

Activate the virtual environment using the command for your system (Linux is used here) and install the required dependencies

source ./.venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt

Copy the .env.example file to a new file called .env.

cp .env-template .env

Next, create a django superuser and make and migrate the models

cd cardie
python manage.py createsuperuser
python manage.py makemigrations
python manage.py migrate

Now just run the server using the following command, or run the Start server task in your Visual Studio Code

python manage.py runserver

Finally, navigate to http://127.0.0.1:8000/admin and log in using your new administrator account. Create a new Server object and be sure to configure the ip to be http://127.0.0.1:8000.

Additional steps for Production installation

This depends on what server hosting provider you're using. However, there's a couple environment variables you need to set and there's a run command.

Set the following global environment variables:

  • DJANGO_ALLOWED_HOSTS -> ${APP_DOMAIN} (This works on DigitalOcean, this may not work on every hosting provider)

  • DJANGO_LOG_LEVEL -> WARNING

  • SECRET_KEY -> <your new secret key> (Generate this using django.core.management.utils.get_random_secret_key(). If possible you should encrypt this value in your hosting provider.)

  • DEBUG -> False

  • DATABASE_URL -> ${db.DATABASE_URL} (This works on DigitalOcean, this may not work on every hosting provider)

Development

djlint

This project uses djlint to lint the templates. You can run this using the following command

djlint cardie --reformat

ruff

This project uses ruff to lint and format the code. You can run the following command to lint and format the code.

ruff check cardie --fix

For VS Code users, you can install the ruff extension to get linting and formatting on save.

Contributing

Please see CONTRIBUTING.md for instructions on how you can contribute to Cardie